package com.starlink.client.ras;

import com.starlink.client.ras.request.*;
import com.starlink.client.ras.response.*;

import java.util.List;
import java.util.Map;

public interface RasClient {

    /**
     * 新增包装--书包
     */
    RasBaseResponse<Integer> wrap(WrapRequest request);
    /**
     * 查询审核过的包装列表(分页) GET --书包
     * @param request
     */
    RasBaseResponse<WrapAuditListResponse> wrapAuditList(WrapAuditListRequest request);
    /**
     * 外包装，绑定,激活 --书包+书籍
     */
    RasBaseResponse<GoodsBindingResponse> goodsBinding(GoodsBindingRequest request);


    /**
     * 新增商品管理（书籍）
     * @param request
     * @return response.data ras平台商品id
     */
    RasBaseResponse<Integer> goodsAdd(GoodsAddRequest request);

    /**
     * 批量新增商品管理（书籍）
     * @param request
     * @return response.data ras平台商品id
     */
    RasBaseResponse<Map<Long,Integer>> batchGoodsAdd(List<GoodsAddRequest> request);
    /**
     * 查询商品管理列表（审核通过）
     * @param request
     * @return 返回当前账户下所有审核通过的商品列表
     */
    RasBaseResponse<GoodsListEvidenceResponse> goodsListEvidence(GoodsListEvidenceRequest request);
    /**
     * 激活商品对应的RAS码
     * @param request
     * @return
     */
    RasBaseResponse<ActivationSingleCodeActivationResponse> activationSingleCodeActivation(ActivationSingleCodeActivationRequest request);

}
